package com.teen9g.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@Builder
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class Comment implements Serializable {
    @TableId(value = "comment_id", type = IdType.AUTO)
    private Integer commentId; //评论id 主键自增 VO
    private Integer userId; //评论人id
    private String userName; //评论人用户名 VO
    private String ipAddress; // 发表评论时的IP地址 VO
    private String relatedCategory; //评论关联的内容类型 DTO
    private Integer relatedId; //评论关联的内容id DTO
    private String comment; //评论内容(限制500字) DTO,VO
    private Integer likeCount; // 点赞数 VO
    private Integer replyCount; // 回复数 VO
    private Integer rootCommentId; //评论的父评论id（可以置空，此时自身为父评论） DTO,VO
    private String replyUserName; //回复的用户名（可以置空） DTO VO
    private Integer status; // 0:待审核, 1:审核通过, 2:审核不通过, 3:已删除, 4.被举报中
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime commentCreateTime; //评论创建时间 VO
}
